#ifndef SMALLERSHARE_H
#define SMALLERSHARE_H
#include "gPublic.h"
#include <QApplication>
#include <QDebug>
#include <QFile>
#include <QLayout>
#include <QLayoutItem>
#include <QMessageBox>
#include <QString>
#include <QTextStream>

typedef struct {
  u16 srcLen;
  byte *srcData;
} block_t;

typedef struct {
  u8 AFN;
  u8 DT1;
  u8 DT2;
} T3762AfnDt;

class smallerShare {
public:
  smallerShare();
  static void setStyle(const QString &style);
  static void writeFile(QString fileName, QString data);
  static void removeLayout(QWidget *wdialog, QLayout *layout);

  static void addEchanged(uint8_t *data_in, uint8_t *data_out, uint8_t len);
  static QByteArray add33(QByteArray da);
  static bool add33(byte *data, u16 len);
  static QByteArray sub33(QByteArray da);
  static bool sub33(byte *data, u16 len);
  static unsigned char CheckSum(QByteArray da);

  static QString hex2QString(QByteArray disArray);
  static QString getAsciiByArray(QByteArray &data);
  char ConvertHexChar(char ch);
  QByteArray QString2Hex(QString str);
  /*
   * 函数名:		pppcs16
   * 函数原型:	u16 pppcs16(u16 initcs, byte *cp, u16 len)
   * 函数功能:	698
   * 输入参数:	数据帧头head, 数据长度_len
   * 输出参数:	无
   * 返回值:
   * by smaller
   *
   */
  u16 pppcs16(u16 initcs, byte *cp, u16 len);

  /*
   * 函数名:		checkpppcs16
   * 函数原型:	u16 checkpppcs16(byte *cp, u16 len)
   * 函数功能:	698
   * 输入参数:	数据帧头head,0 数据长度_len
   * 输出参数:	无
   * 返回值:
   * by smaller
   *
   */
  u16 checkpppcs16(byte *cp, u16 len);
};

extern QString currentDb;

bool copyFileMap(QString m_strInputFile, QString m_strOutputFile);

#endif // SMALLERSHARE_H
